package learm.pers.studygitlab.code.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * @ClassName: GitProject
 * @Description:
 * @Author: fangqing
 * @Date: 2021/6/28
 */
@Data
public class GitProject {
    /**
     * 主键id
     */
    private String uuid;
    /**
     * 项目id
     */
    private String projectId;
    /**
     * 代码库id
     */
    private Long codeId;
    /**
     * 代码库名称
     */
    private String codeName;
    /**
     * 分支
     */
    private String defaultBranch;
    /**
     * ssh连接
     */
    private String sshUrlToRepo;
    /**
     * http连接
     */
    private String httpUrlToRepo;
    /**
     * 外部访问的URL
     */
    private String webUrl;
    /**
     * 路径
     */
    private String pathWithNamespace;
    /**
     * 访问权限 0-private：私有 10-internal：内部  20-public：共有
     * private. visibility_level是0。必须为每个用户明确授予项目访问权限。
     * internal. visibility_level是10。任何登录用户都可以克隆该项目。
     * public. visibility_level是20。无需任何身份验证即可克隆该项目。
     */
    private String visibility;
    /**
     * 代码库创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdAt;
    /**
     * 代码库更新时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastActivityAt;
    /**
     * 关联状态 0：未关联 1：已关联
     */
    private String relation;
    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyTime;
    /**
     * 创建人
     */
    private String createUserId;
    /**
     * 合并请求个数
     */
    private Integer mergeCount;


}
